package com.ehi.cuke;

import com.google.common.base.Strings;
import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.List;

public class AuthorizationHeader {

	 public static final String EHI_VISITOR_ID = "ehi_visitor_id";

	    public static final String ISTORE_TOKEN = "istore_token";

	    private String istoreToken;

	    private String ehiVisitorId;

	    public String getIstoreToken() {
	        return istoreToken;
	    }

	    public void setIstoreToken(String istoreToken) {
	        this.istoreToken = istoreToken;
	    }

	    public String getEhiVisitorId() {
	        return ehiVisitorId;
	    }

	    public void setEhiVisitorId(String ehiVisitorId) {
	        this.ehiVisitorId = ehiVisitorId;
	    }

	    public boolean isEmpty() {
	        return Strings.isNullOrEmpty(getEhiVisitorId()) && Strings.isNullOrEmpty(getIstoreToken());
	    }

	    @Override
	    public String toString() {
	        if (isEmpty()) {
	            return "";
	        }
	        List<String> result = new ArrayList<>();
	        if (!Strings.isNullOrEmpty(getEhiVisitorId())) {
	            result.add("ehi_visitor_id=\"" + getEhiVisitorId() + "\"");
	        }
	        if (!Strings.isNullOrEmpty(getIstoreToken())) {
	            result.add("istore_token=\"" + getIstoreToken() + "\"");
	        }
	        return "ISTORE_API " + StringUtils.join(result, ", ");
	    }
	}
